package com.jt.cotroller;

import com.jt.pojo.User;
import com.jt.service.AxiosService;
import org.springframework.web.bind.annotation.*;

import javax.annotation.Resource;
import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/axios")//抽取前缀
public class AxiosController {

    @Resource
    private AxiosService axiosService;

    /*
    * 实现用户入库操作
    * 1、Url地址：http://localhost:8090/axios/saveUser
    * 参数：JSON串（"name":"tomcat","age":18,"sex":"女"}
    * 返回值:成功消息
    * 难点：前端传递的是JSON，后端不可以直接使用User对象接收
    * 解决方案：
    *       1、对象可以转化为JSON串  @ResponseBody
    *       2、JSON串转化为对象    @RequestBody
    *
    * */
    @PostMapping("/saveUser")
    public String saveUser(@RequestBody User user){
        axiosService.saveUser(user);
        return "用户新增！！";
    }

    /**
     * 需求：查询所有用户信息
     * URL：/axios/findUserList
     * 返回值：List<User>
     * */
    @GetMapping("/findUserList")
    public List<User> findUserList(){
        return axiosService.findUserList();
    }

    @PutMapping("updateUser")
    public String updateUserList(@RequestBody User user){
        axiosService.updateUserList(user);
        return "修改成功";
    }

    @DeleteMapping("/deleteUser/{id}")
    public String deleteUser(@PathVariable Integer id){
        axiosService.deleteUser(id);
        return "删除成功";
    }
}
